home *** CD-ROM | disk | FTP | other *** search
- File: .../x11/server/dix/BuiltInAtoms
-
- This file is of a fixed format and is used to generate both the file
- include/XAtom.h and dix/initatoms.c. Neither of those files should be
- edited directly. Changing the atoms in this file, or even the order in
- which they occur, is equivalent to forcing a new (minor) version number
- on the server. Take care.
-
- The format of the file is that each built in atom starts in column 1
- with no text, other than spaces and tabs, on that line other than a
- mandatory trailing "@" at the end of the line. For each atom (Foo)
- below the defines will be of the form
- #define XA_Foo <n>
- and the string value of the atom will be "Foo".
-
- The comment lines in this file are not guaranteed to be accurate. To see the
- current truth, look at the Xlib documentation as well as the protocol spec.
-
- Atoms occur in five distinct name spaces within the protocol. Any particular
- atom may or may not have some client interpretation within each of the name
- spaces. For each of the built in atoms, the intended semantics and the space
- within which it is defined is indicated.
-
- Those name spaces are
- Property names
- Property types
- Selections
- Font properties
- Type of a ClientMessage event (none built into server)
-
- For the font properties mentioned here, see the spec for more information.
-
- -- Selections --
-
- PRIMARY @
- Selection.
- SECONDARY @
- Selection.
-
- -- Property types and names --
-
- ARC @
- Property type:
- x, y: INT16
- width, height: CARD16,
- angle1, angle2: INT16
- ATOM @
- Property type:
- atom: ATOM
- BITMAP @
- Property type:
- bitmap: PIXMAP
- This is asserted to be of depth 1.
- CARDINAL @
- Property type:
- card: CARD32 or CARD16 or CARD8
- the datum size is dependent on the property format
- COLORMAP @
- Property type:
- colormap: COLORMAP
- CURSOR @
- Property type:
- cursor: CURSOR
- CUT_BUFFER0 @
- CUT_BUFFER1 @
- CUT_BUFFER2 @
- CUT_BUFFER3 @
- CUT_BUFFER4 @
- CUT_BUFFER5 @
- CUT_BUFFER6 @
- CUT_BUFFER7 @
- Property name: (type: STRING)
- Used to implement cut buffer ring, in particular Andrew uses
- this mechanism. Anyone else using this sort of IPC mechanism
- should use these properties.
-
- Data is normally fetched and stored out of CUT_BUFFER0; the
- RotateProperties request is used to rotate these buffers.
- DRAWABLE @
- Property type:
- drawable: DRAWABLE
- FONT @
- Property type:
- font: FONT
- INTEGER @
- Property type:
- card: INT32 or INT16 or INT8
- the datum size is dependent on the property format
- PIXMAP @
- Property type:
- pixmap: PIXMAP
- POINT @
- Property type:
- x, y: INT16
- RECTANGLE @
- Property type:
- x, y: INT16
- width, height: CARD16
- RESOURCE_MANAGER @
- Property name: (type: STRING)
- Contents of the user's resource manager data base.
- RGB_COLOR_MAP @
- Property type:
- colormap: COLORMAP
- red-max: CARD32
- red-mult: CARD32
- green-max: CARD32
- green-mult: CARD32
- blue-max: CARD32
- blue-mult: CARD32
- base-pixel: CARD32
-
- The fields `red_max', `green_max', and `blue_max' give the maximum
- red, green, and blue values, respectively. Each color
- coefficient ranges from 0 to its max, inclusive. For example,
- a common colormap allocation is 3/3/2: 3 planes for red, 3
- planes for green, and 2 planes for blue. Such a colormap would
- have red_max == 7, green_max = 7, and blue_max = 3. An alternate
- allocation that uses only 216 colors is red_max = 5, green_max =
- 5, and blue_max = 5.
-
- The fields `red_mult', `green_mult', and `blue_mult' give the
- scale factors used to compose a full pixel value. (See next
- paragraph.) For a 3/3/2 allocation red_mult might be 32,
- green_mult might be 4, and blue_mult might be 1. For a
- 6-colors-each allocation, red_mult might be 36, green_mult might
- be 6, and blue_mult might be 1.
-
- The field `base_pixel' gives the base pixel value used to
- compose a full pixel value. Normally base_pixel is obtained
- from a call to XAllocColorPlanes(). Given integer red, green,
- and blue coefficients in their appropriate ranges, one can
- compute a corresponding pixel value with the expression:
-
- r * red_mult + g * green_mult + b * blue_mult + base_pixel
-
- For gray-scale colormaps, only the colormap, red_max, red_mult,
- and base_pixel fields are defined; the other fields are
- ignored. To compute a gray-scale pixel value, use:
-
- gray * red_mult + base_pixel
-
- This is provided to allow applications to share color maps.
-
- RGB_BEST_MAP @
- RGB_BLUE_MAP @
- RGB_DEFAULT_MAP @
- RGB_GRAY_MAP @
- RGB_GREEN_MAP @
- RGB_RED_MAP @
- Property name: (type: RGB_COLOR_MAP)
- The needs of most applications can be met with five colormaps.
- Polite applications may need only a small RGB space, and can
- use a portion of the default color map. Applications doing
- high-quality RGB rendering will need an entire colormap,
- filled with as large an RGB space as possible, e.g. 332. For
- color separations, an application may need maximum device
- resolution for each of red, green, and blue, even if this
- requires three renderings with three colormaps.
-
- Each of the above five names would be used for sharing color
- maps.
- STRING @
- Property type:
- sequence of Bytes
- VISUALID @
- Property type:
- visual: VISUALID
- WINDOW @
- Property type:
- window: WINDOW
- WM_COMMAND @
- Property name: (type: STRING)
- Command line arguments used to invoke this application. The
- arguments are delimited by null characters (ASCII 0).
- WM_HINTS @
- Property type:
- flags: CARD32
- input: BOOL32
- initial-state: CARD32
- icon-pixmap: PIXMAP
- icon-window: WINDOW
- icon_mask: BITMAP
- icon-x, icon-y: INT32
- flags contains the following bits
- 0x00000001 input hint
- 0x00000002 state hint
- 0x00000004 icon pixmap hint
- 0x00000008 icon window hint
- 0x00000010 icon position hint
- values for initial-state
- 0 unspecified -> application does not
- care and WM should pick one.
- 1 normal
- 2 zoomed
- 3 iconic
- 4 inactive -> application believes
- itself to be seldomly used. WM may wish to
- place it on an inactive menu.
- This type is potentially extensible. The order is critical;
- append to the end only.
- Property name: (type: WM_HINTS)
- Additional hints set by the client for use by the window
- manager.
- WM_CLIENT_MACHINE @
- Property name: (type: STRING)
- used to communicate with the window manager. The host name
- of the machine the client is running on may be set here.
- WM_ICON_NAME @
- Property name: (type: STRING)
- what the application would like the label to be for
- the iconic form of the window.
- WM_ICON_SIZE @
- Property type:
- minWidth, min-height: CARD32
- maxWidth, max-height: CARD32
- widthInc, height-inc: CARD32
- Property name: (type: ICON_SIZE)
- The window manager may set this property on the root window
- to specify the icon sizes it allows.
- WM_NAME @
- Property name: (type: STRING)
- used to communicate with the window manager. This is
- what the application would like the label for the window.
- WM_NORMAL_HINTS @
- Property name: (type: SIZE_HINTS)
- used to communicate with the window manager. This is size
- hints for a window in its "normal" state.
- WM_SIZE_HINTS @
- Property type:
- flags: CARD32
- x, y: INT32
- width, height: CARD32
- min-width, min-height: CARD32
- max-width, max-height: CARD32
- width-inc, height-inc: CARD32
- min-aspect-x, min-aspect-y: CARD32
- max-aspect-x, max-aspect-y: CARD32
- flags contains the following bits
- 0x00000001 user specified x and y
- 0x00000002 user specified width and height
- 0x00000004 program specified position
- 0x00000008 program specified size
- 0x00000010 program specified minimum size
- 0x00000020 program specified maximum size
- 0x00000040 program specified resize increment
- 0x00000080 program specified aspect ratio
- This type is potentially extensible. The order is critical;
- append to the end only.
- WM_ZOOM_HINTS @
- Property name: (type: SIZE_HINTS)
- used to communicate with the window manager. This is size
- hints for a window in its "zoomed" state.
-
- -- Font properties --
-
- MIN_SPACE @
- Font property: CARD32
- NORM_SPACE @
- Font property: CARD32
- MAX_SPACE @
- Font property: CARD32
- END_SPACE @
- Font property: CARD32
- SUPERSCRIPT_X @
- Font property: INT32
- SUPERSCRIPT_Y @
- Font property: INT32
- SUBSCRIPT_X @
- Font property: INT32
- SUBSCRIPT_Y @
- Font property: INT32
- UNDERLINE_POSITION @
- Font property: INT32
- UNDERLINE_THICKNESS @
- Font property: CARD32
- STRIKEOUT_ASCENT @
- Font property: INT32
- STRIKEOUT_DESCENT @
- Font property: INT32
- ITALIC_ANGLE @
- Font property: INT32
- X_HEIGHT @
- Font property: INT32
- QUAD_WIDTH @
- Font property: INT32
- WEIGHT @
- Font property: CARD32
- POINT_SIZE @
- Font property: CARD32
- RESOLUTION @
- Font property: CARD32
-
- The following optional properties on fonts have values that are atoms. The
- atom print name is the useful information.
-
- COPYRIGHT @
- of the font distribution
- NOTICE @
- trademark/copyright of the character shapes
- FONT_NAME @
- name of this particular instance of a font
- FAMILY_NAME @
- name of the 'font family' to which it belongs
- FULL_NAME @
- full text name of the font
-
- The following aren't in order but putting them at the end avoids encoding
- changes.
-
- CAP_HEIGHT @
- Font property: CARD32
-
-
- WM_CLASS @
- Property name: (type: STRING)
- Used (possibly by some window managers; definitely by
- session managers) to look up resources in the resource
- data base on behalf of the client who set this property.
- There are 2 elements:
- {char *resource_name; char *resource_class;}
- delimited by a null character (ascii 0)
-
- WM_TRANSIENT_FOR @
- Property name: (type: WINDOW)
- Used by transient top-level windows, such as dialog
- boxes, to point to their logical "parents". The window
- manager can then take down the dialog boxes when the
- "parent" gets iconified, for instance.
-